package com.demo.java.OD1_50.OD14;

import java.util.Scanner;
import java.math.BigInteger;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： N 进制减法。
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145510098
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);

        // 读取输入：进制，两个数字
        String[] input = s.nextLine().split(" ");
        int numOctal;

        try {
            // 解析进制，检查是否在合法范围内
            numOctal = Integer.parseInt(input[0]);
            if (numOctal < 2 || numOctal > 35) {
                // 如果进制不在 [2, 35] 范围内，返回 -1
                System.out.println(-1);
                return;
            }
        } catch (Exception e) {
            // 解析失败，进制不合法，返回 -1
            System.out.println(-1);
            return;
        }

        // 读取并校验两个数字
        String firstStr = input[1];
        String secondStr = input[2];

        // 校验数字的有效性：不能为空、不能以 0 开头
        if (firstStr == null || secondStr == null || firstStr.isEmpty() || secondStr.isEmpty()
                || firstStr.startsWith("0") || secondStr.startsWith("0")) {
            System.out.println(-1);
            return;
        }

        BigInteger num1 = BigInteger.ZERO;
        BigInteger num2 = BigInteger.ZERO;
        try {
            // 将输入的两个数字字符串按指定进制转换为 BigInteger
            num1 = new BigInteger(firstStr, numOctal);
            num2 = new BigInteger(secondStr, numOctal);
        } catch (Exception e) {
            // 如果转换失败，说明输入数字不合法，返回 -1
            System.out.println(-1);
            return;
        }

        // 计算两个数字的差
        BigInteger res = num1.subtract(num2);

        // 根据差值判断并输出相应结果
        if (res.compareTo(BigInteger.ZERO) > 0) {
            System.out.print(0 + " "); // 如果第一个数字大，输出 0
        } else {
            System.out.print(1 + " "); // 如果第二个数字大，输出 1
        }

        // 输出计算结果，转换回指定进制
        System.out.println(res.toString(numOctal));
    }
}
